package com.hspedu.mhl.service;

import com.hspedu.mhl.dao.DiningTableDAO;
import com.hspedu.mhl.domain.DiningTable;

import java.util.List;

/**
 * @author 吴宇~
 * @motto 我亦无他，唯手熟尔。
 * @edition jdk1.8
 * @reflection 0-1 喧闹任其喧闹，自由我自为之，我自风情万种，与世无争。
 * @date 2023/04/05/19:52
 */
public class DiningTableService { //业务层，返回所有餐桌的信息
    //定义一个DiningTable对象
    private DiningTableDAO diningTableDAO=new DiningTableDAO();

    /**
     *
     * @return 返回所有餐桌信息
     */
    public List<DiningTable>list(){
        List<DiningTable> diningTables = diningTableDAO.queryMulti("select id,state from diningTable ", DiningTable.class);
        return diningTables;
    }


    //根据id查询餐桌对象,如果返回null，表示不存在
    public DiningTable getDiningTableById(int id){
        //把sql语句放在sql中分析一下，
        return diningTableDAO.querySingle("select *from diningtable where id =?",DiningTable.class,id);
    }

    //如果餐桌可以预订，调用方法，对其状态进行分析(包括预订人的名字)
    public boolean orderDiningTable(int id,String orderName,String orderTel){

        int update = diningTableDAO.update("update diningTable set state='已经预订',orderName=?,orderTel=? where id =?", orderName, orderTel,id);
        return update>0;
    }

    // 需要提供一个更新餐桌状态的方法
    public boolean updateDiningTableState(int id,String state){
        int update = diningTableDAO.update("update diningTable set state=? where id=?", state, id);
        return update>0;
    }
    //提供方法，将指定的餐桌设定为特定状态
    public boolean updateDiningToFree(int id, String state) {
        int update = diningTableDAO.update("update diningTable set state=? ,orderName='',orderTel ='' where id=?", state, id);
        return update>0;
    }

}
